#include "SDL/SDL.h"
#include "SDL/SDL_ttf.h"

typedef struct SDL_Button
{
    //按钮的属性（位置和大小）
    SDL_Rect box;
    //按钮文本
    char *text;
    //按钮消息
    SDL_Surface *message;
} Button;

/*  创建按钮方法，结果返回该按钮的指针
    x:按钮左上角的x坐标
    y:按钮左上角的y坐标
    w:按钮宽度
    h:按钮高度
    text:按钮文本内容 
    font:按钮字体
*/
Button SDL_Button(int x, int y, int w, int h, char *text, TTF_Font *font);

/*  按钮事件处理
    button:要绑定事件的按钮指针
    e:事件
    on_mouse_click():回调函数
*/
void handle_button_events(Button *button, SDL_Event e, void (*on_mouse_click)());

/*  显示按钮
    button:按钮指针
    screen:要显示的屏幕
*/
void set_button_to_screen(Button *button, SDL_Surface *screen);

/*  释放按钮
    button:按钮指针
 */
void clean_Button(Button *button);